"""容器的抽象基类 ----------（abc 模块）"""
"""
    抽象基类的意思，是定义一个虚拟的类，不能直接创建实例，只是一个接口，相当于一个魔板，
供他的子类使用， 子类一定要实现他的方法，否则抛出异常！

"""

#1、调用抽象类，检查子类对象类型，实现返回true

from collections.abc import Sized


class Person:
    def __init__(self, person_list):
        self.person_list = person_list

    def __getitem__(self, item):
        return self.person_list[item]

    def __len__(self):
        return len(self.person_list)


body = Person(["Xiuwu", "Adny", "Maggie"])
print(isinstance(Person(body), Sized))


#2、我们需要强制某个子类必须实现某些方法
"""
设计框架，和扩展的时候一定要考虑。定义抽象类表达式
@abc.abcstractmethod这个初始化的时候就可以抛出异常，是主要的方法
"""


















